package FiveHomeworkDesign.Strategy;

/**
 * @author 北巷_东坡
 * @date 2022/11/15 16:56
 * @computer 10741
 */
public class CaesarCipher206  implements Cipher206{
    @Override
    public String doEnarypt(int key, String plainText) {
        System.out.println("未加密的信息:"+plainText);
        String cipher = "";
        for (int i = 0; i < plainText.length(); i++) {
            char c = plainText.charAt(i);
            // 小写字母的转换
            if (c >= 'a' && c <= 'z') {
                c += key % 26;
                //  向左超界
                if (c < 'a') c += 26;
                //  向右超界
                if (c > 'z') c -= 26;
            } else if (c >= 'A' && c <= 'Z') {//    大写字母的转换
                c += key % 26;
                //  向左超界
                if (c < 'A') c += 26;
                //  向右超界
                if (c > 'Z') c -= 26;
            } else if (c >= '0' && c <= '9') {//    数字的转换
                c += key % 10;
                //  向左超界
                if (c < '0') c += 10;
                //  向右超界
                if (c > '9') c -= 10;

            }
            //  将加密后的字符连成字符串
            cipher += c;
        }

        return cipher;
    }
}
